package com.supms.course.mapper;

import java.util.List;
import com.supms.course.domain.TestReview;

/**
 * 本科试卷复查Mapper接口
 * 
 * @author LiangHao
 * @date 2022-03-08
 */
public interface TestReviewMapper 
{
    /**
     * 查询本科试卷复查
     * 
     * @param id 本科试卷复查主键
     * @return 本科试卷复查
     */
    public TestReview selectTestReviewById(Long id);

    /**
     * 查询本科试卷复查列表
     * 
     * @param testReview 本科试卷复查
     * @return 本科试卷复查集合
     */
    public List<TestReview> selectTestReviewList(TestReview testReview);

    /**
     * 新增本科试卷复查
     * 
     * @param testReview 本科试卷复查
     * @return 结果
     */
    public int insertTestReview(TestReview testReview);

    /**
     * 修改本科试卷复查
     * 
     * @param testReview 本科试卷复查
     * @return 结果
     */
    public int updateTestReview(TestReview testReview);

    /**
     * 删除本科试卷复查
     * 
     * @param id 本科试卷复查主键
     * @return 结果
     */
    public int deleteTestReviewById(Long id);

    /**
     * 批量删除本科试卷复查
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTestReviewByIds(Long[] ids);

    /**
     * 通过用户账号获取用户姓名，并默认设置为查卷老师
     * @param operName 用户账号
     * @return 用户姓名
     */
    public String getSupNameByOperName(String operName);

    /**
     * 将试卷复查表中的评价标记改为已评价（"1"）
     * @param testReviewId 试卷复查表ID
     */
    public void updateReviewEvalFlagById(Long testReviewId);

    /**
     * 获取本科试卷复查表（数据综合查看表） --- 未评价
     */
    public TestReview getTestReviewTable0(TestReview testReview);

    /**
     * 获取本科试卷复查表（数据综合查看表） --- 已评价
     */
    public TestReview getTestReviewTable1(TestReview testReview);

    /**
     * 通过传来的试卷复查表ID，查询已经做了复查评价的试卷复查表
     * @param ids 需要删除试卷复查表的ID数组
     * @return 已经做了复查评价的试卷复查表ID数组
     */
    public Long[] selectReviewEvalFlagByIds(Long[] ids);

    /**
     * 批量删除已评价的试卷复查表
     * @param haveIds 已经做了评价的试卷复查表ID
     */
    public void deleteTestReviewEvalByIds(Long[] haveIds);
}
